using System;
using System.Collections.Generic;
using System.Text;

namespace QuizArena
{
    public class Mundo : IDisposable
    {
        #region Public Constants

        /// <summary>
        /// The maximum number of players in the game.
        /// </summary>
        public const int MaximumPlayers = 16;

        public enum PacketTypes
        {
            PlayerData,
            ShipData,
            WorldSetup,
            WorldData,
            ShipInput,
            PowerUpSpawn,
            ShipDeath,
            ShipSpawn,
            GameWon,
        };

        #endregion


        #region State Data


        /// <summary>
        /// If true, the game has been initialized by receiving a WorldSetup packet.
        /// </summary>
        bool initialized = false;
        public bool Initialized
        {
            get { return initialized; }
        }

        /// <summary>
        /// If true, the game is over, and somebody has won.
        /// </summary>
        private bool gameWon = false;
        public bool GameWon
        {
            get { return gameWon; }
            set { gameWon = value; }
        }

        /// <summary>
        /// The index of the player who won the game.
        /// </summary>
        private int winnerIndex = -1;
        public int WinnerIndex
        {
            get { return winnerIndex; }
        }


        /// <summary>
        /// If true, the game is over, because the game ended before somebody won.
        /// </summary>
        /// <remarks></remarks>
        private bool gameExited = false;
        public bool GameExited
        {
            get { return gameExited; }
            set { gameExited = value; }
        }


        #endregion

        #region IDisposable Members

        public void Dispose()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion
    }
}
